class Arrary {

    public static String Arrary() {
        /*数组
         * 定义方式：
         *   1.数据类型[] 变量名(推荐)
         *   2.数据类型 变量名[]
         * 举例如下
         * */
        int[] Arrary2;
        int Array1[];
        /*动态初始化
        格式 数据类型[] 变量名 = new 数据类型[数组长度];
        * */
        Arrary2 = new int[3];
        Arrary2[0] = 1;
        Arrary2[1] = 12;
        Arrary2[2] = 123;

        /*输出的是内存地址*/
        System.out.println(Arrary2);
        System.out.println(Arrary2[0]);
        System.out.println(Arrary2[1]);
        System.out.println(Arrary2[2]);
        /*
         * 内存分配
         * 栈内存
         * 存储局部变量 局部变量定义在方法中的变量例如：arr
         * 使用完毕立刻消失
         * 堆内存
         * 存储的是new出来的变量（实体对象）
         * 使用完毕会在垃圾回收器空闲的时间清理掉
         * */
        Array1 = new int[3];
        System.out.println(Array1);
        System.out.println(Array1[0]);
        System.out.println(Array1[1]);
        System.out.println(Array1[2]);
        Array1[0] = 1;
        Array1[2] = 15;

        System.out.println(Array1[0]);
        System.out.println(Array1[1]);
        System.out.println(Array1[2]);
        /*
        * 静态初始化
        * 格式：
        * 数据类型[] 变量名=new 数据类型[][数据1，数据二,......]
        * */
        int[] Array3=new int[]{1,2,3,4,5};
        System.out.println(Array3);
//        遍历数组的代码
        for (int i = 0; i < Array3.length; i++) {
            System.out.println(Array3[i]);
        }

//        System.out.println(Array3[7]);
//报ArrayIndexOutOfBoundsException数组越界异常
//        当给数组赋值为null时间会产生空指针异常

        return "a";
    }
}